home *** CD-ROM | disk | FTP | other *** search
/ Power Programmierung / Power-Programmierung (Tewi)(1994).iso / magazine / drdobbs / 1991 / 04 / morrow / drive.c next >
C/C++ Source or Header  |  1989-09-03  |  1KB  |  92 lines

  1. /***
  2. *       GASystem
  3. *       Mike Morrow
  4. *       September 1989
  5. ***/
  6.  
  7.  
  8.  
  9.  
  10. /**
  11. *    This is the main driver for the GA.
  12. **/
  13.  
  14. #include <stdio.h>
  15. #include "ga.h"
  16. #include "table.h"
  17.  
  18.  
  19. #define PROMPT "\nOK\n"
  20.  
  21.  
  22.  
  23. static void init();
  24.  
  25.  
  26. #if __STDC__
  27. static void getstring(char *, unsigned int);
  28. #else
  29. static void getstring();
  30. #endif
  31.  
  32. main(argc, argv)
  33. int argc;
  34. char *argv[];
  35. {
  36.     init();
  37.  
  38.     for(;;)
  39.     {
  40.         char cmd[80];
  41.  
  42.         getstring(cmd, sizeof cmd - 1);        
  43.         exec(cmd);
  44.     }
  45. }
  46.  
  47.  
  48. static void getstring(s, maxlen)
  49. char *s;
  50. unsigned int maxlen;
  51. {
  52.     int len;
  53.     
  54.     printf(PROMPT);
  55.     fgets(s, maxlen, stdin);
  56.     len = strlen(s) - 1;
  57.     if(s[len] == '\n')
  58.         s[len] = '\0';
  59. }
  60.  
  61.  
  62.  
  63.  
  64. static void init()
  65. {
  66.  
  67. #ifdef unix
  68.     srandom((unsigned) time((void *) 0));
  69. #else
  70.     srand((unsigned) time((void *) 0));
  71. #endif
  72.  
  73.     tbl_init();
  74.  
  75. /**
  76. *    Insert local vars into table.
  77. **/
  78.     genepinit();
  79.     poplpinit();
  80.     exepinit();
  81.  
  82. /**
  83. *    Init. objective function
  84. **/
  85.     objinit();
  86.  
  87. /**
  88. *    Init population
  89. **/
  90.     poplopen();
  91. }
  92.